package com.asset.dispoal.business.bsAssetInstitutionBatch.api;

import com.asset.dispoal.business.bsAssetInstitutionBatch.dto.BsAssetInstitutionBatchRequest;
import com.asset.dispoal.business.bsAssetInstitutionBatch.dto.BsAssetInstitutionBatchResponse;
import com.asset.dispoal.business.bsAssetInstitutionBatch.dto.BsAssetInstitutionPolicyRequest;
import com.asset.dispoal.business.bsAssetInstitutionBatch.dto.BsAssetInstitutionPolicyResponse;
import tech.mhuang.pacebox.springboot.protocol.Result;
import tech.mhuang.pacebox.springboot.protocol.data.PageVO;

/**
 * 资产机构批次表服务接口
 *
 * @author: mhuang
 * @date: 2022-03-10 09:40:20
 */
public interface IBsAssetInstitutionBatchService {


    /**
     * 添加
     *
     * @param bsAssetInstitutionBatchRequest
     */
    void insert(BsAssetInstitutionBatchRequest bsAssetInstitutionBatchRequest);


    /**
     * 修改
     *
     * @param bsAssetInstitutionBatchRequest
     */
    void update(BsAssetInstitutionBatchRequest bsAssetInstitutionBatchRequest);


    Result<PageVO<BsAssetInstitutionBatchResponse>> queryTree(BsAssetInstitutionBatchRequest bsAssetInstitutionBatchRequest);


    Result<PageVO<BsAssetInstitutionBatchResponse>> queryPage(BsAssetInstitutionBatchRequest bsAssetInstitutionBatchRequest);

    /**
     * 获取优惠政策配置信息
     *
     * @param id
     * @return
     */
    Result<BsAssetInstitutionPolicyResponse> getPolicyById(String id);

    /**
     * 新增优惠政策配置
     *
     * @param request
     */
    void createPolicy(BsAssetInstitutionPolicyRequest request);
}